<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<ui:composition template="/templates/templateDetalhe.xhtml"
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">

	<ui:define name="conteudo">
		<ui:param name="actionBean" value="#{clienteMB.clienteDetalheMB}" />

		<p:panel id="dialogCadastro" width="100%" height="80%"
			closable="false" header="Cadastro de Cliente">

			<h:form>
				<p:hotkey bind="esc"
					handler="document.getElementById('frm:btnCancelar').click()" />
			</h:form>

			<h:form id="frm">

				<h:panelGrid columns="3" style="horizontal-align:center"
					width="100%">
					<h:panelGrid columns="1">
						<h:panelGrid columns="2">
							<p:outputLabel value="Matricula:" />
							<p:inputText id="matricula"
								value="#{clienteMB.clienteDetalheMB.cliente.codigo}"
								disabled="true" />

							<p:outputLabel for="nome" value="Nome:" />
							<p:focus for="nome">
								<p:inputText id="nome"
									value="#{clienteMB.clienteDetalheMB.cliente.dadosCadastro.nome}"
									disabled="#{clienteMB.clienteDetalheMB.consultando}" size="50"
									required="true" maxlength="50"
									requiredMessage="Nome é obrigatório!" />
							</p:focus>
							<p:outputLabel value="Razão Social:" for="razao"></p:outputLabel>

							<p:inputText id="razao"
								value="#{clienteMB.clienteDetalheMB.cliente.dadosCadastro.razaoSocial}"
								disabled="#{clienteMB.clienteDetalheMB.consultando}" size="50"
								required="#{clienteMB.clienteDetalheMB.possuiPessoaJuridica()}"
								maxlength="60" requiredMessage="Razão é obrigatória!" />


						</h:panelGrid>

						<h:panelGrid columns="2">

							<p:outputLabel value="Pessoa:" for="selectpessoa"></p:outputLabel>
							<p:selectOneRadio
								value="#{clienteMB.clienteDetalheMB.cliente.dadosCadastro.tipoPessoa}"
								required="true" id="selectpessoa"
								disabled="#{clienteMB.clienteDetalheMB.consultando}">
								<f:selectItems var="tipo"
									value="#{clienteMB.clienteDetalheMB.listaTipoPessoa}"
									itemLabel="#{tipo.descricao}" itemValue="#{tipo}"></f:selectItems>
							</p:selectOneRadio>


						</h:panelGrid>
					</h:panelGrid>

					<h:panelGrid columns="2">
						<p:outputLabel value="Sexo:" for="sexo"></p:outputLabel>
						<p:selectOneRadio
							value="#{clienteMB.clienteDetalheMB.cliente.dadosCadastro.sexo}"
							required="true" id="sexo"
							disabled="#{clienteMB.clienteDetalheMB.consultando}">
							<f:selectItems var="sexo"
								value="#{clienteMB.clienteDetalheMB.listaSexo}"
								itemLabel="#{sexo.descricao}" itemValue="#{sexo}"></f:selectItems>
						</p:selectOneRadio>

						<p:outputLabel value="Email:" for="email" />
						<p:inputText id="email" required="true"
							value="#{clienteMB.clienteDetalheMB.cliente.dadosCadastro.email}"
							disabled="#{clienteMB.clienteDetalheMB.consultando}"
							maxlength="50" validatorMessage="E-mail inválido">
							<f:validateRegex
								pattern="^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$" />
						</p:inputText>

						<p:outputLabel value="Data Nascimento:" for="dataNasc" />
						<p:inputMask
							value="#{clienteMB.clienteDetalheMB.cliente.dadosCadastro.dataNascimento}"
							disabled="#{clienteMB.clienteDetalheMB.consultando}"
							required="true" maxlength="10"
							requiredMessage="Data de Nascimento é obrigatória!" id="dataNasc"
							mask="99/99/9999">
							<f:convertDateTime pattern="dd/MM/yyyy" timeZone="GMT-3" />

						</p:inputMask>
						<p:outputLabel value="CNPJ/CPF:" for="cnpjcpf"></p:outputLabel>
						<p:inputText id="cnpjcpf" required="true" maxlength="18"
							onblur="mascara(event,'cnpj/cpf')" converter="cnpjCpfConvert"
							value="#{clienteMB.clienteDetalheMB.cliente.dadosCadastro.cnpjCpf}"
							disabled="#{not clienteMB.clienteDetalheMB.incluindo}"></p:inputText>
					</h:panelGrid>


					<p:outputPanel id="tabelatelefone">
						<p:dataTable id="tbtelefone" paginatorPosition="bottom" rows="3"
							rowKey="#{item.codigo}" paginator="true"
							style="width:100%;padding: 5px !important;"
							value="#{clienteMB.clienteDetalheMB.cliente.dadosCadastro.telefones}"
							selectionMode="single" var="item"
							emptyMessage="Não há registros na lista">
							<f:facet name="header">Telefones
									<p:columnGroup>
									<p:commandLink oncomplete="dialogCadastroTelefone.show()"
										title="Incluir Telefones" immediate="false" id="btnIncTel"
										rendered="#{not clienteMB.clienteDetalheMB.consultando}">
										<h:graphicImage value="/imagens/telephone_add.png" width="15"
											height="15"></h:graphicImage>
									</p:commandLink>
									<p:tooltip id="toolTipFade" for="btnIncTel"
										value="Clique para cadastrar telefones" />
								</p:columnGroup>
							</f:facet>
							<p:column headerText="DDD">
								<h:outputText value="#{item.ddd}"></h:outputText>
							</p:column>
							<p:column headerText="Telefone">
								<h:outputText value="#{item.tel}"></h:outputText>
							</p:column>
							<p:column headerText="Tipo">
								<p:outputLabel value="#{item.tipoTelefone.descricao}"></p:outputLabel>
							</p:column>
							<p:column headerText="Ação" style="text-align:center"
								rendered="#{not clienteMB.clienteDetalheMB.consultando}">
								<p:commandLink update=":frm:tabelatelefone"
									actionListener="#{clienteMB.clienteDetalheMB.excluirTel(item)}">
									<p:graphicImage value="/imagens/x.png" height="14"></p:graphicImage>

								</p:commandLink>
							</p:column>
						</p:dataTable>
					</p:outputPanel>

				</h:panelGrid>
				<h:panelGrid columns="2" width="100%" style="text-align:top">
					<p:panel header="Endereço">
						<h:panelGrid columns="2">
							<h:panelGrid columns="2">
								<p:outputLabel value="Logradouro:" for="logradouro" />
								<p:inputText id="logradouro"
									disabled="#{clienteMB.clienteDetalheMB.consultando}"
									required="true"
									value="#{clienteMB.clienteDetalheMB.cliente.dadosCadastro.endereco.logradouro}"
									size="40" maxlength="60" />


								<p:outputLabel value="Número:" />
								<p:inputText id="numero"
									disabled="#{clienteMB.clienteDetalheMB.consultando}"
									value="#{clienteMB.clienteDetalheMB.cliente.dadosCadastro.endereco.numero}"
									size="15" onkeypress="return(mascaras(this,numero))"
									maxlength="10" />

								<p:outputLabel value="Complemento:" />
								<p:inputText id="compl"
									disabled="#{clienteMB.clienteDetalheMB.consultando}"
									value="#{clienteMB.clienteDetalheMB.cliente.dadosCadastro.endereco.complemento}"
									size="15" maxlength="20" />


								<p:outputLabel value="Bairro:" for="bairro" />
								<p:inputText id="bairro"
									disabled="#{clienteMB.clienteDetalheMB.consultando}"
									required="true"
									value="#{clienteMB.clienteDetalheMB.cliente.dadosCadastro.endereco.bairro}"
									size="40" maxlength="50" />
							</h:panelGrid>
							<h:panelGrid columns="2">
								<p:outputLabel value="CEP:" for="cep" />
								<p:inputMask id="cep"
									disabled="#{clienteMB.clienteDetalheMB.consultando}"
									required="true"
									value="#{clienteMB.clienteDetalheMB.cliente.dadosCadastro.endereco.cep}"
									size="15" maxlength="9" mask="99999-999" />


								<p:outputLabel value="UF:" />
								<p:selectOneMenu id="uf" filterMatchMode="contains"
									filter="true" required="true"
									value="#{clienteMB.clienteDetalheMB.cliente.dadosCadastro.endereco.uf}"
									disabled="#{clienteMB.clienteDetalheMB.consultando}"
									style="width:150px;font-size:10px">
									<f:selectItems
										value="#{clienteMB.clienteDetalheMB.listaEstado}" var="uf"
										itemLabel="#{uf.uf}" itemValue="#{uf}"></f:selectItems>

								</p:selectOneMenu>


								<p:outputLabel value="Cidade:" for="cidade" />
								<p:inputText id="cidade"
									disabled="#{clienteMB.clienteDetalheMB.consultando}"
									required="true"
									value="#{clienteMB.clienteDetalheMB.cliente.dadosCadastro.endereco.cidade}"
									size="40" maxlength="50" />

							</h:panelGrid>
						</h:panelGrid>
					</p:panel>
					<h:panelGrid columns="1" width="100%">

						<p:dataTable id="tbanimal" paginator="true" style="width:100%;"
							paginatorPosition="bottom"
							value="#{clienteMB.clienteDetalheMB.cliente.animais}"
							var="itemanimal" selectionMode="single"
							rowKey="#{itemanimal.codigo}"
							emptyMessage="Não há registros na lista">
							<f:facet name="header">Animais
						<p:commandButton
									actionListener="#{clienteMB.clienteDetalheMB.abrirModal}"
									style="float:left;width:20px !important;height:20px !important"
									oncomplete="dialogCadastroAnimalInc.show()"
									update=":frmDialogAnimalInc" icon="ui-icon-circle-plus"
									title="Incluir Animais" immediate="false" id="btnIncAnimal"
									ajax="true"
									rendered="#{not clienteMB.clienteDetalheMB.consultando}">
									<p:tooltip id="toolTipFade" for="btnIncAnimal"
										value="Clique para cadastrar os Animais" />
									<f:param name="modooperacaoanimal" value="INCLUIR" />
								</p:commandButton>

							</f:facet>
							<p:column headerText="Nome">
								<h:outputLabel value="#{itemanimal.nomeAnimal}"></h:outputLabel>

							</p:column>
							<p:column headerText="Tipo">
								<p:outputLabel value="#{itemanimal.raca.tipoAnimal.descricao}"></p:outputLabel>
							</p:column>

							<p:column headerText="Ação" style="text-align:center">


								<p:commandLink
									rendered="#{clienteMB.clienteDetalheMB.cliente.codigo>0}"
									id="btnConsulta" title="Consultar"
									oncomplete="dialogCadastroAnimal.show()"
									update=":frmDialogAnimal">
									<p:graphicImage value="/imagens/find.png" height="14"></p:graphicImage>
									<p:tooltip id="toolTipcons" for="btnConsulta"
										value="Clique para consultar o Animal" />

									<f:setPropertyActionListener value="#{itemanimal.clone()}"
										target="#{clienteMB.clienteDetalheMB.animalSelecionado}" />
								</p:commandLink>
								<p:spacer width="10"></p:spacer>
								<p:commandLink update=":frm:tbanimal" id="btnexc"
									rendered="#{not clienteMB.clienteDetalheMB.consultando}"
									actionListener="#{clienteMB.clienteDetalheMB.excluirAnimal(itemanimal)}">
									<p:graphicImage value="/imagens/x.png" height="14"></p:graphicImage>
									<p:tooltip id="toolTipexc" for="btnexc"
										value="Clique para excluir o Animal" />
								</p:commandLink>

							</p:column>

						</p:dataTable>
					</h:panelGrid>
				</h:panelGrid>

				<h:panelGrid columns="6">
					<p:commandButton id="btnConfirma"
						rendered="#{not clienteMB.clienteDetalheMB.consultando}"
						action="#{clienteMB.clienteDetalheMB.salvar}" value="Confirma"
						update=":mensagem" />


					<p:commandButton id="btnCancelar" value="Cancelar" immediate="true"
						action="#{actionBean.sair}" />

				</h:panelGrid>

			</h:form>
		</p:panel>
		<ui:include src="/includes/dialogCadastroTelefone.xhtml" />
		<ui:include src="dialogCadastroAnimal.xhtml" />
		<ui:include src="dialogCadastroAnimalIncluir.xhtml" />
	</ui:define>
</ui:composition>
